import Vue from 'vue'
import Vuex from 'vuex'
// import * as actions from './actions'
import * as getters from './getters'
import createPersistedState from "vuex-persistedstate";
import variables from "@/styles/vars.scss"
import basecss from "@/styles/variables.scss"
import tagsView from './modules/tagsView'
import permission from './modules/permission'

Vue.use(Vuex)
// 应用初始状态
const state = {
    count: 10,
    theme: variables.theme,//主题颜色
    // activeColor: basecss.menuLightBg,//侧边栏选中时文字颜色
    // buttonColor: "primary",//按钮颜色
    // titleColor:'#0099cc',//弹出框&表单标题颜色
    // dialogTitleColor:'dialogblue'
    // theme: "#1a3257",//主题颜色
    activeColor: "#6dc0dc",//侧边栏选中时文字颜色
    buttonColor: "info",//按钮颜色
    titleColor:'#114aa2db',//弹出框&表单标题颜色
    dialogTitleColor:'dialogblack' //在style/vars.scss里添加类名和颜色进行修改
}
// 定义所需的 mutations
const mutations = {
    INCREMENT(state) {
        state.count++
    },
    DECREMENT(state) {
        state.count--
    },
    //根据当切换主题
    CHANGE_SETTING: (state, { key, value }) => {
        console.log(state)
        console.log( { key, value })
        if (state.hasOwnProperty(key)) {
          state[key] = value
        }
      }
}//根据当切换主题
const actions = {
    changeSetting({ commit }, data) {
      commit('CHANGE_SETTING', data)
    }
  }
// 创建 store 实例
export default new Vuex.Store({
   
    state,
    // plugins:[createPersistedState()],
    getters:{
        // 参数列表state指的是state数据
        getCityFn(state){
            return state;
        }
    },
    modules: {
        tagsView, 
        permission
    },
    mutations,
    actions
    // mutations:{
    //     // state指的是state的数据
    //     // name传递过来的数据
    //     setCity(state, name){
    //         state.city = name;//将传参设置给state的city
    //     }
    // },
    // actions: {
    //     // 设置城市信息
    //     // 参数列表：{commit, state}
    //     // state指的是state数据
    //     // commit调用mutations的方法 
    //     // name就是调用此方法时要传的参数
    //     setCityName({
    //         commit,
    //         state
    //     }, name) {
    //         commit("setCity", name);
    //     }
    // },
})